On the mechanization of Kleene Algebra in Coq
نویسندگان
چکیده
Kleene algebra (KA) is an algebraic system that captures properties of several important structures arising in Computer Science like automata and formal languages, among others. In this paper we present a formalization of regular languages as a KA in the Coq theorem prover. In particular, we describe the implementation of an algorithm for deciding regular expressions equivalence based on the notion of derivative. We envision the usage of (an extension of) our formalization as the formal system in which we can encode and prove proof obligations for the mechanization and automation of the process of formal software verification, in the context of the Proof Carrying Code paradigm.
منابع مشابه
A Tactic for Deciding Kleene Algebras
We present a Coq reflexive tactic for deciding equalities or inequalities in Kleene algebras. This tactic is part of a larger project, whose aim is to provide tools for reasoning about binary relations in Coq: binary relations form a Kleene algebra, where the star operation is the reflexive transitive closure. Our tactic relies on an initiality theorem, whose proof goes by replaying finite auto...
متن کاملSets in Coq, Coq in Sets
We present a Coq reflexive tactic for deciding equalities or inequalities in Kleene algebras. This tactic is part of a larger project, whose aim is to provide tools for reasoning about binary relations in Coq: binary relations form a Kleene algebra, where the star operation is the reflexive transitive closure. Our tactic relies on an initiality theorem, whose proof goes by replaying finite auto...
متن کاملPartial Derivative Automata Formalized in Coq
In this paper we present a computer assisted proof of the correctness of a partial derivative automata construction from a regular expression within the Coq proof assistant. This proof is part of a formalization of Kleene algebra and regular languages in Coq towards their usage in program certification.
متن کاملDeciding Kleene Algebras in Coq
We present a reflexive tactic for deciding the equational theory of Kleene algebras in the Coq proof assistant. This tactic relies on a careful implementation of efficient finite automata algorithms, so that it solves casual equations instantaneously and properly scales to larger expressions. The decision procedure is proved correct and complete: correctness is established w.r.t. any model by f...
متن کاملKleene Algebra with Tests and Coq Tools for while Programs
We present a Coq library about Kleene algebra with tests, including a proof of their completeness over the appropriate notion of languages, a decision procedure for their equational theory, and tools for exploiting hypotheses of a certain kind in such a theory. Kleene algebra with tests make it possible to represent if-then-else statements and while loops in most imperative programming language...
متن کامل